.\"   $Id: addbddassoc.3,v 1.1 2002/03/18 11:26:50 ludo Exp $
.\" @(#)addbddassoc.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
.TH ADDBDDASSOC 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
.SH NAME
addbddassoc \- creates a new association variables.
.so man1/alc_origin.1
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
bddassoc \(**addbddassoc( BddSystem )
  bddsystem  \(**BddSystem;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIBddSystem\fP
The \fBbdd\fP system.
.SH DESCRIPTION
\fBaddbddassoc\fP creates a new association variables in the \fBbdd\fP system
\fIBddSystem\fP.  If a null pointer is given, the default \fBbdd\fP system is used.
.br
.SH RETURN VALUE
\fBaddbddassoc\fP returns a pointer to the new variable association.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"no more variable association, error !"
.ft R
.RS
There is no variable association number left.
.RE
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
   bddsystem  \(**BddSystem;
   bddcircuit \(**BddCircuit;
   bddnode    \(**BddNode;
   bddnode    \(**BddSubst;
   bddnode    \(**BddVariable;
   bddassoc   \(**Assoc;
   chain_list \(**Expr;
   bddvar         Variable;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   Expr = createablbinexpr( ABL_AND,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddNode = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   Expr = createablbinexpr( ABL_OR,
                            createablatom( "i2" ),
                            createablatom( "i3" ) );
   BddSubst = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   BddVariable = searchbddcircuitin( (bddcircuit \(**)0, "i0" );
   Variable = getbddvarbyindex( (bddsystem \(**)0, BddVariable->INDEX );
   Assoc = addbddassoc( (bddsystem \(**)0 );
   addbddnodeassoc( (bddsystem \(**)0, Assoc, Variable, BddSubst );
   BddNode = substbddnodeassoc( (bddsystem \(**)0, BddSubst, Assoc );
   delbddassoc( (bddsystem \(**)0, Assoc );
   Expr = convertbddcircuitabl( BddCircuit, BddNode );
   /* displays ((i3 or i2) and i1) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddassoc( (bddsystem \(**)0 );
   destroybddsystem( (bddsystem \(**)0 );
   destroybddcircuit( (bddcircuit \(**)0 );
.ft R
.fi
.SH SEE ALSO
.BR bdd (1)


.so man1/alc_bug_report.1

